/**
 * 从JSON化的JSDoc中提取@param信息
 * @param {Object} jsdoc - JSON化的JSDoc对象
 * @returns {Array} - 包含参数信息的数组
 */
export default function extractParamsFromJsdoc(jsdoc) {
  if (!jsdoc || !jsdoc.tags) {
    return [];
  }

  return jsdoc.tags
    .filter(tag => tag.tag === 'param')
    .map(param => ({
      name: param.name,
      type: param?.type || '',
      required: !param?.optional,
      default: param.default || '',
      description: param.description || ''
    }));
}

/**
 * @typedef {Object} ParamInfo
 * @property {string} name - 参数名称
 * @property {string} type - 参数类型
 * @property {boolean} required - 是否为必需参数
 * @property {string} default - 参数的默认值
 * @property {string} description - 参数的描述
 */